<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // const obj = {
        //     detail_s:'ooooooo',
        //     fff_s:5,
        //     get detail(){
        //         // console.log('访问了detail属性')
        //         return this.detail_s
        //     },
        //     set detail(a){
        //         this.detail_s = a
        //     }
        // }
        // obj.detail = 123213
        // console.log(obj.detail)

        // 1

        // Object.defineProperty(对象, 属性名, { 配置项 })

        // const obj1 = {
        //     a:10,
        //     b:20,
        //     name:'admin'
        // }
        // const obj2 = {}
        // for(let i in obj1){
        //     Object.defineProperty(obj2,i,{
        //         get(){
        //             return obj1[i]
        //         },
        //         set(v){
        //             obj1[i] = v
        //         }
        //     })
        // }
        // obj2.name = 'a'

        // console.log(obj1)
        // console.log(obj2)

        // console.log(obj1.name)
        // console.log(obj2.name)
        // console.log(obj2)
        // console.log(obj2===obj1)
        // console.log(obj1.name,obj2.name)

        // const origin = {
        //     age:1,
        //     sex:'男'
        // }
        // const dlobj = new Proxy(origin,{
        //     get(target,property){
        //         return target[property]
        //     },
        //     set(target,property,val){
        //         target[property] = val
        //         return true
        //     }
        // })
        // console.log(origin)
        // console.log('代理后',dlobj)
        // console.log(dlobj.age)
            // const obj = {a:1}
            // function a(){

            // }
            // console.log(obj)
            // console.dir(Object)
            // console.log(a.prototype)
            // console.log(Array.prototype)
            // const arr = [1]
            // console.log(arr.__proto__==Array.prototype)
        // console.log(obj)
        // console.log(Object.setPrototypeOf(obj,null))

        function fn(){
            let a = 10;
            return function(){
                return a;
            }
        }
        let res = fn();

        console.log(res);  // 10
    </script>
</body>
</html>